In the particular field of image processing, recovering missing pixels or scaling an image (generally towards a greater size or format) are extensively performed operations. To determine the pixel value at a missing location, a classic method consists of taking a small area of the data that is determined by a sampling window and providing it to an interpolator. The interpolator uses a polynomial equation with fixed degree and coefficients, which in turn determine the filter coefficients. This standard method has some inconveniences. Identification of an adequate polynomial equation is not easy. The coefficients are generally fixed once for all, and thus are clearly not optimized for all the data or encountered if recalculated for each set of data, consumes a large amount processing time. The number of coefficients is limited (generally to less than 20), making the interpolation very approximate in most cases. For example, if black and white type images are processed, the interpolation may create gray levels that do not exist in the original image. A great number of arithmetic operations have to be performed that generally imply a number of serial computations, making the interpolation very slow. Finally, the time for completing the interpolation depends on the number of coefficients and is thus variable for each set of data.
The present invention solves the above problem by using an artificial neural network (ANN) instead of arithmetic interpolators and extrapolators. In today's data processing, a good many recognition, prediction, and computation tasks are performed using reference databases to characterize input data. Depending upon the problem to be solved, these reference databases contain patterns that are sub-images, sub-signals, subsets of data, and combination thereof. The patterns that are stored in these reference databases are referred to herein below as prototypes. As known to those skilled in the art, they are generally represented by a vector, i.e. an array in a space of a given dimension. Well-known methods for characterizing new (unknown) patterns, referred to herein below as input patterns, using reference databases are based upon input space mapping algorithms such as the K-Nearest-Neighbor (KNN) or the Region Of Influence (ROI). The underlying principle of these algorithms is to compute the distance (Dist) between the input pattern and each of the stored prototypes in order to find the closest one(s) depending upon predetermined thresholds or not. U.S. Pat. No. 5,717,832 assigned to IBM Corp describes neural semiconductor chips and artificial neural networks (ANNs) of a new type. These ANNs, referred to hereinbelow as ZISC ANNs, are based on such input space mapping algorithms mentioned above and include innovative elementary processors, referred to hereinbelow as the ZISC neurons (ZISC is a registered trademark of IBM Corp). ZISC neurons are described in U.S. Pat. No. 5,621,863 assigned to IBM Corp U.S. Pat. Nos. 5,717,832 and 5,621,863 are both incorporated herein by reference. An essential characteristic of the ZISC neurons lies in their ability to work in parallel, i.e. when an input pattern is presented to the ZISC ANN, all the neurons compute the distance between the input pattern and each of the prototypes stored therein at the same time.
FIG. 1 is the basic hardware that will be used to illustrate the main principle of the distance evaluation technique as it is currently practiced in a ZISC ANN. Turning now to FIG. 1, there is shown the architecture of a neural system 10 comprising a host computer 11, e.g. a personal computer (PC), and a conventional ZISC ANN referenced 12 including a plurality of neurons 13-1 to 13-n (generically referenced as 13 hereinafter). Physically, the ANN 12 can include a printed circuit board having a few ZISC chips, e.g. ZISC036 chips which include 36 neurons each, mounted thereon. Each neuron, e.g. 13-1, is schematically reduced to two essential elements for the sake of simplicity: a prototype memory 14-1 dedicated to store a prototype when the neuron has learned an input pattern during the learning phase and a distance evaluator 15-1. Data-in bus 16 sequentially applies the set of components of an input pattern to all neurons 13 of the ANN 12 in parallel and data-out bus 17 transmits the results of the distance evaluation process, typically the distance and the category to the host computer 11. As taught in the above mentioned U.S. Pat. No. 5,621,863, when an input pattern is fed into a neuron 13 through data bus 16, it is compared in the distance evaluator 15 with the prototype to evaluate the distance therebetween. The ZISC ANN 12 is configured to have all the neurons working in parallel, so that the result generally includes a pair of values: the minimum distance that characterizes the closest input pattern and the category associated thereto. For the sake of simplicity, the category register is not shown in FIG. 1, it is considered to be included in the distance evaluator 15. As apparent in FIG. 1, the ZISC ANN architecture is such that all the distance evaluations are simultaneously performed in all the neurons composing the ANN.